package test1230am;

public class Test22 {
    public static void main(String[] args) {

//        (21)一个数如果恰好等于它的因子之和，这个数就称为“完数”。例如6=1＋2＋3.编程
//        找出100以内的所有完数。
        int[] arr = wan(100);
        for (int i : arr) {
            if (i != 0) {
                System.out.println(i);
            }
        }
    }
    public static int[] wan(int max) {
        int[] arr = new int[max];
        int n = 0;
        for (int i = 1; i < max; i++) {
            if (isWanShu(i)) {
                arr[n] = i;
                n++;
            }
        }
        return arr;
    }

    public static boolean isWanShu(int num) {
        int sum = 0;
        for (int i = 1; i < num; i++) {
            if (num % i == 0) {
                sum = i+sum;
            }
        }
        return sum == num;
    }
}
